package com.test3;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

public class ListTest {
    public static void main(String[] args) {
        List list = new ArrayList<>();

        //添加元素
//        list.add("a");
//        list.add("b");
//        list.add(0,"c");
//        System.out.println(list);//[c, a, b]
//        //删除元素
////        list.remove("a");
////        System.out.println(list);//[c, b]
//        list.remove(1);
//        System.out.println(list);//[c, b]
//        //遍历
//        //自带的forEach
//        list.forEach(e -> System.out.println(e));//b,c
//        //正常for
//        for (int i = 0; i < list.size(); i++) {
//            System.out.println(list.get(i));//b,c
//        }
//        //迭代器
//        Iterator it = list.iterator();
//        while (it.hasNext()){
//            System.out.println(it.next());//b,c
//        }
//        //列表迭代器
//        //允许从前往后，和从后往前
//        ListIterator listIterator =  list.listIterator();
//        //从前往后
//        while (listIterator.hasNext()){
//            //0:c
//            //1:b
//            System.out.println(listIterator.nextIndex()+":"+listIterator.next());
//        }
//        //从后往前
//        while (listIterator.hasPrevious()){
//            //1:b
//            //0:c
//            System.out.println(listIterator.previousIndex()+":"+listIterator.previous());
//        }

        //判断
        //与Collection 相同

        //添加数据类型(自动装箱)
        list.add(10);
        list.add(20);
        list.add(30);
        list.add(40);
        System.out.println(list);//[10, 20, 30, 40]
        //删除元素
//        list.remove(0);//[20, 30, 40]
        list.remove(new Integer(10));
        System.out.println(list);//[20, 30, 40]
        //subList,返回子集合
        System.out.println(list.subList(0, 2));//[20, 30],左包含右不包含
    }
}
